
package com.be.beadmin.device.service;

import com.be.beadmin.device.entity.ToolInfo;
import com.be.beadmin.device.dto.output.ToolInfoEx;
import com.be.beadmin.device.dto.input.ToolInfoDto;
import com.be.beadmin.device.dto.input.ToolInfoQueryCriteria;
import com.be.beadmin.device.entity.SpareInfo;
import org.springframework.data.domain.Page;
import com.be.beadmin.common.entity.PageEntity;
import org.springframework.data.domain.Pageable;

import java.util.Date;
import java.util.Map;
import java.util.List;
import java.io.IOException;
import javax.servlet.http.HttpServletResponse;

/**
* @description 服务接口
* @author sly
* @date 2023-08-26
**/
public interface ToolInfoService {

    /**
    * 分页的查询接口
    * @param pageEntity
    * @return
    */
    Page<ToolInfoEx> getToolInfoByPage(PageEntity pageEntity);

    /**
    * @param toolInfoDto
    */
    void addToolInfo(ToolInfoDto toolInfoDto);

    /**
    * @param toolInfoDto
    */
    void updateToolInfo(ToolInfoDto toolInfoDto);

    /**
    * @param id
    */
    void delToolInfo(String id);

    /**
    * 删除多个角色
    * @param ids
    */
    void delToolInfos (List<String> ids);


    /**
     * 根据领用日期获取项目信息
     * @param takeawayDate
     * @return
     */
    ToolInfo getToolInfoByTakeawayDate(Date takeawayDate);

    /**
     * 根据报废日期获取项目信息
     * @param scrappedDate
     * @return
     */
    ToolInfo getToolInfoByScrappedDate(Date scrappedDate);

    /**
     * 根据采购日期获取项目信息
     * @param contractDate
     * @return
     */
    ToolInfo getToolInfoByContractDate(Date contractDate);
}